package com.yxw.live_vod_boot.service;

import com.yxw.live_vod_facade.dto.VideoCoinQueryDTO;
import com.yxw.live_vod_boot.dto.YxLiveCostAddDTO;
import com.yxw.live_vod_boot.dto.YxVideoCoinAddDTO;
import com.yxw.live_vod_boot.dto.YxVideoCoinQueryDTO;
import com.yxw.live_vod_boot.vo.YxVideoCoinVO;
import com.yxw.yxnet_cd_center.common.dto.PageVO;

import java.util.List;

/**
 * 视频币明细
 * @author xiexuxin
 * @date 2023-11-17
 */
public interface VideoCoinService {

    /**
     * 添加视频币明细
     * @param videoCoinAddDTO
     */
    void addVideoCoin(YxVideoCoinAddDTO videoCoinAddDTO);

    /**
     * 获取视频币明细列表
     * @param dto
     * @return
     */
    PageVO<List<YxVideoCoinVO>> getVideoCoinList(YxVideoCoinQueryDTO dto);

    /**
     * 获取视频币明细列表后台
     * @param dto
     * @return
     */
    PageVO<YxVideoCoinVO> getVideoCoinListBackend(VideoCoinQueryDTO dto);

    /**
     * 获取视频币明细详情
     * @param videoCoinId
     * @return
     */
     YxVideoCoinVO getVideoCoinById(Long videoCoinId);

    /**
     * 添加直播中违规扣除视频币费用记录
     * @param liveCostAddDTO
     */
    void addIllegalCostDuringLive(YxLiveCostAddDTO liveCostAddDTO);

    /**
     * 添加直播完费用记录
     * @param liveCostAddDTO
     */
    void addLiveCost(YxLiveCostAddDTO liveCostAddDTO);

}
